package net.csdn.business.common.domain.vo.mirror;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.csdn.business.common.constant.CommonConstants;

import java.io.Serializable;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProjectMirrorDataVO implements Serializable {

    private Long id;

    private Long projectId;

    /**
     * GitHub repo path
     */
    private String repoPath;

    private String fullPath;

    private Date nextExecutionAt;

    private Integer status;

    private Date lastExecutionAt;

    private Date nextSyncExecutionAt;

    private Integer syncStatus;

    private Date lastSyncSuccessfulUpdateAt;

    private String lastError;

    private String lastSyncError;

    private String creator;

    private String creatorId;

    private String targetOrg;

    private String targetOrgId;

    private String token;
    /**
     * 操作导入的用户类型：0： admin 1： user
     */
    private Integer userType;
    /**
     * 平台类型：0： github 1 ：gitee
     */
    private Integer type;
    /**
     * 是否自动仓库同步开关: 0：否；1：是
     */
    private Integer isSync;
    /**
     * 仓库的可见性： 0:私有；20：公开
     */
    private Integer visibilityLevel;
    /**
     *  镜像仓库的描述
     */
    private String description;

    @JsonFormat(pattern = CommonConstants.DEFAULT_PATTERN, timezone = CommonConstants.DEFAULT_TIMEZONE)
    private Date createdAt;
    @JsonFormat(pattern = CommonConstants.DEFAULT_PATTERN, timezone = CommonConstants.DEFAULT_TIMEZONE)
    private Date updatedAt;

    /**
     *  源镜像平台的url
     */
    private String sourceUrl;
    /**
     *  导入目标平台的url
     */
    private String targetUrl;

    /**
     *  三方平台的描述
     */
    private String typeDesc;
    /**
     *  导入状态文字说明
     */
    private String statusDesc;



}